home *** CD-ROM | disk | FTP | other *** search
/ Shareware Super Platinum 8 / Shareware Super Platinum 8.iso / mac / PROGTOOL / PASSDK30.ZIP;1 / DISK1.ZIP / INC / PLAY.INC < prev   
Encoding:
Text File  |  1993-02-09  |  5.2 KB  |  211 lines

  1. ;$Author:   BCRANE  $
  2. ;$Date:   15 Jun 1992 10:16:14  $
  3. ;$Header:   W:/sccs/inc/play.inv   1.0   15 Jun 1992 10:16:14   BCRANE  $
  4. ;$Log:   W:/sccs/inc/play.inv  $
  5. ;
  6. ;   Rev 1.0   15 Jun 1992 10:16:14   BCRANE
  7. ;Initial revision.
  8. ;$Logfile:   W:/sccs/inc/play.inv  $
  9. ;$Modtimes$
  10. ;$Revision:   1.0  $
  11. ;$Workfile:   PLAY.INC  $ 
  12.  
  13. ;
  14. ;   /*\
  15. ;---|*|----=====< PLAY.INC >====----
  16. ;---|*|
  17. ;---|*|  This module holds the various definitions for both the
  18. ;---|*|  ".WAV" and ".VOC" file contents.
  19. ;---|*|
  20. ;---|*| Copyright (c) 1991-1993, Media Vision, Inc.  All Rights Reserved.
  21. ;---|*|
  22. ;   \*/
  23.  
  24. ;   /*\
  25. ;---|*|----====< ".WAV" file definition >====----
  26. ;---|*|
  27. ;---|*|     4 bytes 'RIFF'
  28. ;---|*|     4 bytes <length>
  29. ;---|*|     4 bytes    'WAVE'
  30. ;---|*|     4 bytes      'fmt '
  31. ;---|*|     4 bytes       <length>    ; 10h - length of 'Info' block
  32. ;---|*|     2 bytes          01    ; format tag
  33. ;---|*|     2 bytes          01    ; channels (1=mono, 2=stereo)
  34. ;---|*|     4 bytes          xxxx    ; samples per second
  35. ;---|*|     4 bytes          xxxx    ; average samples per second
  36. ;---|*|     2 bytes          01/02/04    ; block alignment
  37. ;---|*|     2 bytes          08/16    ; bits per sample
  38. ;---|*|     4 bytes    'data'
  39. ;---|*|     4 bytes      <length>
  40. ;---|*|       bytes      <sample data>
  41. ;---|*|
  42. ;   \*/
  43.  
  44. ;         ----====< Wave format control block >====----
  45.  
  46. WaveInfo struc
  47.  wiformatTag        dw    ?    ;  format category
  48.  winChannels        dw    ?    ;  stereo/mono
  49.  winSamplesPerSec    dd    ?    ;  sample rate
  50.  winAvgBytesPerSec    dd    ?    ;  stereo * sample rate
  51.  winBlockAlign        dw    ?    ;  block alignment (1=byte)
  52.  winBitsPerSample    dw    ?    ;  # byte bits per sample
  53. WaveInfo ends
  54.  
  55. WaveFormat struc
  56.  wfname     db    4 dup(?)    ; "fmt "
  57.  wflength    dd    ?
  58.  wfinfo     db    size WaveInfo dup(?)
  59. WaveFormat ends
  60.  
  61. ;      ----====< Data header which follows a WaveFormat Block >====----
  62.  
  63. DataHeader struc;
  64.  dhname     db    4 dup(?)    ; "data"
  65.  dhlength    dd    ?
  66. DataHeader ends
  67.  
  68. ;       ----====< Total Wave Header data in a wave file >====----
  69.  
  70. WaveHeader struc;
  71.  whname     db    4 dup(?)    ; "WAVE"
  72.  whfmt        db    size WaveFormat dup(?)
  73.  whdata     db    size DataHeader dup(?)
  74. WaveHeader ends;
  75.  
  76. ;    ----====< Riff wrapper around the WaveFormat Block (optional) >====----
  77.  
  78. RiffHeader struc
  79.  rhname     db    4 dup(?)    ; "RIFF"
  80.  rhlength    dd    ?
  81. RiffHeader ends
  82.  
  83. ;        ----====< Riff wrapped WaveFormat Block >====----
  84.  
  85. RiffWave struc;
  86.  rwriff     db    size RiffHeader dup(?)
  87.  rwwave     db    size WaveHeader dup(?)
  88. RiffWave ends
  89.  
  90.  
  91. ;   /*\
  92. ;---|*|----====< Sound Blaster ".VOC" file definition >====----
  93. ;---|*|
  94. ;---|*| File Header:
  95. ;---|*|
  96. ;---|*|    VOCHDR
  97. ;---|*|
  98. ;---|*| File Data Blocks:
  99. ;---|*|
  100. ;---|*|    bVOCDATAHDR
  101. ;---|*|    bVOCDATA
  102. ;---|*|    bCONTINUE
  103. ;---|*|    bSILENCE
  104. ;---|*|    bMARKER
  105. ;---|*|    bASCII
  106. ;---|*|    bREPEAT
  107. ;---|*|    bENDREP
  108. ;---|*|    bEXTBLK
  109. ;---|*|
  110. ;   \*/
  111.  
  112. ;               ----====< Header portion of the .VOC >====----
  113.  
  114. VOCHDR struc
  115.  vhid        db    20 dup(?)    ;  name
  116.  vhvoice_offset dw    ?        ;  offset to data block
  117.  vhversion    dw    ?        ;  version
  118.  vhcheck_code    dw    ?        ;  garbage
  119. VOCHDR ends
  120.  
  121. ;        ----====< types of data blocks >====----
  122.  
  123. TERMINATOR    equ    00        ;  terminator block type
  124. VOICEDATA    equ    01        ;  voice data block
  125. VOICECONTINUE    equ    02        ;  more voice data block
  126. SILENCE     equ    03        ;  silence period
  127. MARKER        equ    04        ;  marker for syncing
  128. ASCIITEXT    equ    05        ;  ascii zstring data
  129. REPEAT        equ    06        ;  repeat next blocks x times
  130. ENDREPEAT    equ    07        ;  end repeat marker
  131.  
  132. ;        ----====< Common Header to each data block >====----
  133.  
  134. bVOCDATAHDR struc
  135.  bxbtype    db    ?        ;  block type
  136.  bxbsize    db    3 dup(?)    ;  24 bits for block size
  137. bVOCDATAHDR ends
  138.  
  139. ;        ----====< voice data block (#1) >====----
  140.  
  141. bVOCDATA struc
  142.  b1btype    db    ?        ;  block type
  143.  b1bsize    db    3 dup(?)    ;  24 bits for block size
  144.  b1sampler    db    ?        ;  sample rate
  145.  b1packtype    db    ?        ;  packing 8/4/2.6/2 bits
  146. bVOCDATA ends
  147.  
  148. ;        ----====< voice continuation (#2) >====----
  149.  
  150. bCONTINUE struc
  151.  b2btype    db    ?        ;  block type
  152.  b2bsize    db    3 dup(?)    ;  24 bits for block size
  153. bCONTINUE ends
  154.  
  155. ;        ----====< Silence (#3) >====----
  156.  
  157. bSILENCE struc
  158.  b3btype    db    ?        ;  block type
  159.  b3bsize    db    3 dup(?)    ;  24 bits for block size
  160.  b3period    dw    ?        ;  period in sample units
  161.  b3sampler    db    ?        ;  sample rate
  162. bSILENCE ends
  163.  
  164. ;        ----====< Marker (#4) >====----
  165.  
  166. bMARKER struc
  167.  b4btype    db    ?        ;  block type
  168.  b4bsize    db    3 dup(?)    ;  24 bits for block size
  169.  b4marker    dw    ?        ;  marker ID
  170. bMARKER ends
  171.  
  172. ;        ----====< ASCII zstring text (#5) >====----
  173.  
  174. bASCII    struc
  175.  b5btype    db    ?        ;  block type
  176.  b5bsize    db    3 dup(?)    ;  24 bits for block size
  177.  b5text     db    ?        ;  ascii zstring text
  178. bASCII    ends
  179.  
  180.  
  181. ;        ----====< Repeat Loop (#6) >====----
  182.  
  183. bREPEAT struc
  184.  b6btype    db    ?        ;  block type
  185.  b6bsize    db    3 dup(?)    ;  24 bits for block size
  186.  b6count    dw    ?        ;  # of times to repeat (-1)
  187. bREPEAT ends
  188.  
  189. ;        ----====< End Repeat Loop (#7) >====----
  190.  
  191. bENDREP struc
  192.  b7btype    db    ?        ;  block type
  193.  b7bsize    db    3 dup(0)    ;  24 bits for block size
  194. bENDREP ends
  195.  
  196. ;        ----====< Extended Block (#8) >====----
  197.  
  198. bEXTBLK struc
  199.  b8btype    db    ?        ; block type
  200.  b8bsize[3]    db    3 dup(0)    ; 24 bits for block size
  201.  b8timec    dw    ?        ; time constant
  202.  b8pack     db    ?        ; compression type
  203.  b8mode     db    ?        ; mode: 0=mono, 1=stereo
  204. bEXTBLK ends
  205.  
  206.  
  207. ;   /*\
  208. ;---|*| end of PLAY.INC
  209. ;   \*/
  210.  
  211.